package phoenix.core.helpers;

import phoenix.core.PhoenixManager;
import phoenix.core.base.HelperBase;
import phoenix.mob_android.page_objects.ActivityPage;
import phoenix.mob_android.page_objects.ChatPage;
import phoenix.mob_android.page_objects.FavouritesPage;
import phoenix.mob_android.page_objects.FeaturesPage;
import phoenix.mob_android.page_objects.IndexPage;
import phoenix.mob_android.page_objects.LikeOrNotPage;
import phoenix.mob_android.page_objects.MainMenu;
import phoenix.mob_android.page_objects.PaymentPage;
import phoenix.mob_android.page_objects.PhotosPage;
import phoenix.mob_android.page_objects.ProfilePage;
import phoenix.mob_android.page_objects.SearchPage;
import phoenix.mob_android.page_objects.SettingsPage;

/**
 * Class provides methods for access to page objects (for Web sites)
 */
public class PageMobAndroidHelper extends HelperBase
{
	// Page objects - sites
	private IndexPage indexPage;
	private SearchPage searchPage;
	private MainMenu mainMenu;
	private SettingsPage settingsPage;
	private ProfilePage profilePage;
	private ChatPage chatPage;
	private ActivityPage activityPage;
	private FavouritesPage favouritesPage;
	private PhotosPage photosPage;
	private PaymentPage paymentPage;
	private LikeOrNotPage likeOrNotPage;
	private FeaturesPage featuresPage;

	/**
	 * Initializes PageWebHelper
	 * @param p_phoenix
	 *            PhoenixManager instance
	 */
	public PageMobAndroidHelper(PhoenixManager p_phoenix)
	{
		super(p_phoenix);
	}

	/**
	 * Index page instance
	 * @return IndexPage instance
	 */
	public IndexPage indexPage()
	{
		if (indexPage == null)
		{
			indexPage = new IndexPage(phoenix);
		}
		return indexPage;
	}

	/**
	 * Search page instance
	 * @return SearchPage instance
	 */
	public SearchPage searchPage()
	{
		if (searchPage == null)
		{
			searchPage = new SearchPage(phoenix);
		}
		return searchPage;
	}

	/**
	 * Main menu instance
	 * @return MainMenu instance
	 */
	public MainMenu mainMenu()
	{
		if (mainMenu == null)
		{
			mainMenu = new MainMenu(phoenix);
		}
		return mainMenu;
	}

	/**
	 * Settings page instance
	 * @return Settings page instance
	 */
	public SettingsPage settingsPage()
	{
		if (settingsPage == null)
		{
			settingsPage = new SettingsPage(phoenix);
		}
		return settingsPage;
	}

	/**
	 * Profile page instance
	 * @return Profile page instance
	 */
	public ProfilePage profilePage()
	{
		if (profilePage == null)
		{
			profilePage = new ProfilePage(phoenix);
		}
		return profilePage;
	}

	/**
	 * Chat page instance
	 * @return Chat page instance
	 */
	public ChatPage chatPage()
	{
		if (chatPage == null)
		{
			chatPage = new ChatPage(phoenix);
		}
		return chatPage;
	}

	/**
	 * Activity page instance
	 * @return Activity page instance
	 */
	public ActivityPage activityPage()
	{
		if (activityPage == null)
		{
			activityPage = new ActivityPage(phoenix);
		}
		return activityPage;
	}

	/**
	 * Favourites page instance
	 * @return Favourites page instance
	 */
	public FavouritesPage favouritesPage()
	{
		if (favouritesPage == null)
		{
			favouritesPage = new FavouritesPage(phoenix);
		}
		return favouritesPage;
	}

	/**
	 * Photos page instance
	 * @return Photos page instance
	 */
	public PhotosPage photosPage()
	{
		if (photosPage == null)
		{
			photosPage = new PhotosPage(phoenix);
		}
		return photosPage;
	}

	/**
	 * Payment page instance
	 * @return Payment page instance
	 */
	public PaymentPage paymentPage()
	{
		if (paymentPage == null)
		{
			paymentPage = new PaymentPage(phoenix);
		}
		return paymentPage;
	}

	/**
	 * Feature page instance
	 * @return Payment page instance
	 */
	public FeaturesPage featuresPage()
	{
		if (featuresPage == null)
		{
			featuresPage = new FeaturesPage(phoenix);
		}
		return featuresPage;
	}

	/**
	 * LikeOrNot page instance
	 * @return LikeOrNot page instance
	 */
	public LikeOrNotPage likeOrNotPage()
	{
		if (likeOrNotPage == null)
		{
			likeOrNotPage = new LikeOrNotPage(phoenix);
		}
		return likeOrNotPage;
	}
}